package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.entity.PageResult;
import com.itheima.pojo.Menu;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/*
    菜单Dao
 */
@Repository
public interface MenuDao {

    /*
        分页查询所有菜单
     */
    Page<Menu> findPage(String queryString);


    //根据用户名获取菜单
    List<Menu> getmenus(String username);
    //根据主菜单id查询子菜单
    List<Menu> findChildrenById(Integer id);

    //根据角色id查询关联的菜单
    List<Map<String,Object>> findRoleIdByPermission(Integer roleId);

    //根据角色id查询关联的菜单数量
    Integer findRoleIdByCountMenu(Integer roleId);

    //查询所有菜单项
    List<Map<String, Object>> findMenuAll();

    // 查询所有一级菜单
    List<Map<String, Object>> findFirstMenu();

    // 新增菜单
    void add(Menu menu);

    // 菜单下有没有子菜单
    int findCountByPanentMenuId(Integer id);

    //删除菜单
    void deleteById(Integer id);

    // 根据id查询菜单信息 回显
    Menu findById(Integer id);

    // 编辑菜单
    void edit(Menu menu);

    // 菜单有没有关联角色
    int findRoleCountByMenuId(Integer id);
}
